ScriptBegin
var Grafik="Script Escher";

var a=18;
    PenC ="black";    
    Fill ="black";
    Fill1 ="crimson";
    Fill2 ="lightgreen";//"yellow";

    maxi = 25;
    maxj = 25;

function init() //Initialisierungen
{ t.setBrush(Fill2);
  t.setPage();
  t.setAntiAliasing();
} 

function draw() //Zeichenbefehle
{ //t.drawKoordSystem();
  //t.drawRaster();

  
  defBasis();
  defMorph();
  t.goTo(0,0); t.turnTo(0); 
 // t.setRotate(60);  

  for(i=-maxi; i<=maxi; i++)
  { for(j=-maxj; j<=maxj; j++)
    { t.goTo(i*a,j*a);
      n=(i*i+j*j)%2;
      t.morphDraw("Quadrat"+n);
    }
  }
}


function defBasis()
{ t.setNoStyle();
  t.goTo(-a/2,-a/2)
  t.rectPolygon(a,a)
  t.setPen(PenC); t.setBrush(Fill); 
  t.defDraw("Quadrat0");
  //t.refineDraw("Quadrat0");
  t.setBrush(Fill1); 
  t.defDraw("Quadrat1");
  //t.refineDraw("Quadrat1");
}

var  a1,b1,c1,d1,a2,b2,c2,d2;

function defMorph1()
{
 a1=t.rndW(0.00001,0.01);
 b1=t.rndW(0.0001,0.001);
 c1=t.rndW(0.0001,0.01);
 d1=t.rndW(0,10);

 a2=t.rndW(0.00001,0.01);
 b2=-c1; //t.rndW(0.0001,0.01);
 c2=-b1;  //t.rndW(0.0001,0.001);
 d2=t.rndW(0,10);
 
 t.msg("a1="+a1+"; b1="+b1+"; c1="+c1+"; d1="+d1+";");
 t.msg("a2="+a2+"; b2="+b2+"; c2="+c2+"; d2="+d2+";");
}

function defMorph()
{
a1=-0.005193873104037599;
b1= 0.0005882717368083743;
c1=-0.0009918973357341228; 
d1= 4.936063722647786;
a2= 0.00513838496047853;
b2= 0.0009918973357341228;
c2=-0.0005882717368083743;
d2= 4.0581682790612508;
}

function defMorph1()
{
a1=0.005182897427289651;
b1=-0.634059816278573;
c1=-0.995731681264687;
d1=9.362163151951659;
a2=0.00002371959593493454;
b2=-0.01526837977233192;
c2=-0.2864103396710105;
d2=-0.0012207403790398877;
}




function morphX(x,y)
{// return x;
 return a1*x*y + b1*x*x + c1*y*y +d1;
}

function morphY(x,y)
{ //return y;
 return a2*x*y + b2*x*x + c2*y*y +d2;
}

ScriptEnd

===============================================

ScriptBegin
var Grafik="Script Funktionen";

function f(x)
{ return x;
}

var u=0.00011;
function g(x)
{return x*x*x*u;  
}



function h(x)
{if (x<0) return Math.sqrt(-x*u);  
 return Math.sqrt(x*u);  
}

function init() //Initialisierungen
{ t.setPage(2); } 

function draw() //Zeichenbefehle
{ t.drawKoordSystem();
  t.drawRaster();
  t.msg(a1);
}
ScriptEnd

